package io;

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

/**
 * 简易记事本工具
 * 程序启动后，将用户在控制台上输入的每行字符串都按行写入文件note.txt中
 * 当单独输入exit时退出。
 *
 * 要求:自行完成4层流连接
 */
public class PWDemo3 {
    public static void main(String[] args) throws FileNotFoundException {
        FileOutputStream fos = new FileOutputStream("note.txt");
        OutputStreamWriter osw = new OutputStreamWriter(fos, StandardCharsets.UTF_8);
        BufferedWriter bw = new BufferedWriter(osw);
        /*
            PrintWriter的构造器如果第一个参数为流，那么就支持再传入一个boolean型
            的参数用来指定是否打开自动行刷新功能(默认是不开启的)
            打开自动行刷新功能后，每当我们调用println方法写出一行字符串后就会自动flush
            一次。注意:print方法和write方法是不会自动flush的！
         */
        PrintWriter pw = new PrintWriter(bw,true);

        Scanner scanner = new Scanner(System.in);
        System.out.println("请开始输入内容，单独输入exit退出");

        while(true){
            String line = scanner.nextLine();
            if("exit".equalsIgnoreCase(line)){
                break;
            }
            pw.println(line);
        }
        System.out.println("再见!");
        pw.close();

    }
}
